/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package vue;

import javax.swing.JPanel;
import modele.*;
import controleur.*;
import javax.swing.JOptionPane;

/**
 * Entité représentant un écran au sein de l'application.s
 * @author sylvainc
 */
public class Ecran extends JPanel {

    protected Controleur controleur;
    protected Ressources ressources;

    public Ecran(FenetreMere mere) {

        controleur = mere.getControleur();
        ressources = mere.getRessources();
    }

    /**
     * Initialisation de l'écran, cette méthode à surcharger.
     */
    public void initialiser() {
    }

    /**
     * Appelée lors d'un clic sur un bouton "Recommencer".
     * Affiche un dialogue de confirmation avant de réinitialiser l'application.
     */
    public void trClicSurRecommencer() {
        
        boolean confirm = afficherMessageConfirmation("Êtes-vous sûr de vouloir recommencer ?\nToutes les modifications faites seront perdues.");
        if(confirm)
            controleur.trRecommencer();
    }

    /**
     * Affiche un dialogue d'erreur.
     *
     * @param message Le message à afficher.
     */
    public void afficherMessageErreur(String message) {
        JOptionPane.showMessageDialog(this, message, "Erreur", JOptionPane.OK_OPTION);
    }

    /**
     * Demande une confirmation.
     * 
     * @param message Le message à afficher.
     * @return true si validé, false sinon.
     */
    public boolean afficherMessageConfirmation(String message) {
        int retour = JOptionPane.showConfirmDialog(this, message, "Confirmation", JOptionPane.YES_NO_OPTION);
        return (retour == 0) ? true : false;
    }
}
